// import hi from './m.js'

// console.log(hi);

console.log('tsc xx.ts -w 自动监视ts文件变化，自动编译');


// 不允许隐式的any类型
// "noImplicitAny": true,
// function fn(a, b) {
//   return a + b
// }
function fn(a: number, b: number) {
  return a + b
}


// 不允许不明确类型的this
// "noImplicitThis": true,
// function fn2() {
//   console.log(this);
// }
function fn2(this: Window) {
  console.log(this);
}





let box1 = document.getElementById('box1');
console.log(box1);         // ------------------> null
// 严格的检查空值
// "strictNullChecks": true
// box1.addEventListener('click', function () {
//   alert('hello');
// });

// 解决方法1
// if(box1 !== null){
//     box1.addEventListener('click', function (){
//         alert('hello');
//     });
// }

// 解决方法2
box1?.addEventListener('click', function () {
  alert('hello');
});
